﻿using mozhi.smarterp.Finance.Basedatas;
using mozhi.smarterp.Finance.Enums;
using System;
using System.Collections.Generic;
using System.Text;
using Volo.Abp.Application.Dtos;

namespace mozhi.smarterp.Finance.Finances
{
    public class JournalDto : CreationAuditedEntityDto<Guid>
    {
        public DateTime Date { get; set; }

        public string NumberPrefix { set; get; }

        public Guid? NumberPrefixId { set; get; }

        public string Number { set; get; }

        public string FullNumber { set; get; }

        public decimal TotalAmountFr { set; get; }

        public decimal TotalAmount { set; get; }

        public JournalSourceType SourceType { set; get; }

        public List<JournalItemDto> Items { set; get; }
    }

    public class JournalItemDto : EntityDto<Guid> 
    { 
        public string Summary {  set; get; }
        public Guid AccountId { set; get; }

        public string AccountFullName { set; get; }

        public Guid? CurrencyId { set; get; }

        public string CurrencyName { set; get; }

        public decimal Amount { set; get; }

        public decimal AmountFr { set; get; }

        public decimal ExchangeRate { set; get; }

        public decimal DebitAmount { set; get; }

        public decimal CreditAmount { set; get; }

        public Guid DimensionGroupValueId { set; get; }

        public List<DimensionGroupValueItemDto> DimensionGroupValueItems { set; get; }
    }

}
